Determining commands based on detected movements of a remote control device

ABSTRACT

A method includes displaying a first set of menu options, that are selectable by a user, on a display screen; detecting a movement, of a remote control device, that corresponds to a particular command; and in response to detecting the movement that corresponds to a particular command, displaying a second set of options, that are selectable by the user, on the display screen.

CROSS-REFERENCE TO RELATED APPLICATIONS; BENEFIT CLAIM

This application claims the benefit as a Continuation of applicationSer. No. 12/842,966, filed Jul. 23, 2010, and is related to applicationSer. No. 13/420,562 filed Mar. 14, 2012, and is related to applicationSer. No. 13/289,388 filed Nov. 4, 2011, and is related to InternationalApplication No. PCT/US11/21592 with a Filing Date of Jul. 23, 2010, theentire content of all of which is hereby incorporated by reference as iffully set forth herein, under 35 U.S.C. §120. The applicant(s) herebyrescind any disclaimer of claim scope in the parent application(s) orthe prosecution history thereof and advise the USPTO that the claims inthis application may be broader than any claim in the parentapplication(s).

FIELD OF THE INVENTION

The present invention relates to a remote control device. Specifically,the invention relates to operating a target media device with a remotecontrol device and a second media device.

BACKGROUND

The approaches described in this section are approaches that could bepursued, but not necessarily approaches that have been previouslyconceived or pursued. Therefore, unless otherwise indicated, it shouldnot be assumed that any of the approaches described in this sectionqualify as prior art merely by virtue of their inclusion in thissection.

Remote control devices are often used for operating one or more targetmedia devices. A remote control device communicates directly with atarget media device in a uni-directional mode. The remote control devicegenerally receives a user command from a user and transmits the usercommand directly to the target media device. A set of available usercommands are limited to the set of user commands stored on the remotecontrol device. The remote control device does not receive anyinformation in addition to the received user command for identifyingand/or operating a target media device.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example, and not by wayof limitation, in the figures of the accompanying drawings and in whichlike reference numerals refer to similar elements and in which:

FIG. 1A is a block diagram illustrating an example system in accordancewith one or more embodiments;

FIG. 1B is a block diagram illustrating an example remote media devicein accordance with one or more embodiments;

FIGS. 2 and 3 illustrate flow diagrams for operating a target mediadevice in accordance with one or more embodiments.

FIG. 4 shows a block diagram that illustrates a system upon which anembodiment of the invention may be implemented.

DETAILED DESCRIPTION

In the following description, for the purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of the present invention. It will be apparent, however,that the present invention may be practiced without these specificdetails. In other instances, well-known structures and devices are shownin block diagram form in order to avoid unnecessarily obscuring thepresent invention.

Several features are described hereafter that can each be usedindependently of one another or with any combination of the otherfeatures. However, any individual feature might not address any of theproblems discussed above or might only address one of the problemsdiscussed above. Some of the problems discussed above might not be fullyaddressed by any of the features described herein. Although headings areprovided, information related to a particular heading, but not found inthe section having that heading, may also be found elsewhere in thespecification.

Example features are described according to the following outline:

-   -   1.0 FUNCTIONAL OVERVIEW    -   2.0 SYSTEM ARCHITECTURE    -   3.0 REMOTE CONTROL DEVICE    -   4.0 PROVIDING INPUT VIA MOVEMENTS OF THE REMOTE CONTROL DEVICE    -   5.0 SPLIT CONTROLS    -   6.0 UPDATES    -   7.0 PRIVACY LEVEL    -   8.0 AUTOMATIC INTERACTIVITY MODE    -   9.0 CUSTOM REMOTE CONFIGURATION    -   10.0 UNI-DIRECTIONAL COMMUNICATION MODE    -   11.0 BI-DIRECTIONAL COMMUNICATION MODE    -   12.0 HARDWARE OVERVIEW    -   13.0 EXTENSIONS AND ALTERNATIVES        1.0 Functional Overview

In an embodiment, a method for operating a target media device includesreceiving a user command by a remote control device for operating atarget media device, where a signal to operate the target media deviceis not stored on the remote control device when the user command isreceived. Data associated with the user command is transmitted by theremote control device to a second media device and signal information,associated with the signal to operate the target media device, isreceived by the remote control device from the second media device. Thesignal to operate the target media device is transmitted by the remotecontrol device to the target media device, where the target media deviceperforms a function based on the signal received from the remote controldevice.

The signal transmitted by the remote control device to the target mediadevice may include an infrared signal or a radio signal (such as a 2.4GHz or 900 MHz signal). Transmitting the information associated with theuser command by the remote control device to a second media device mayinclude transmitting signal using Bluetooth, HDMI CEC, Ethernet orWi-Fi.

In an embodiment, the remote control device may identify the targetmedia device for transmitting the signal based on the signal informationreceived from the second media device. The remote control device mayidentify the target media device for transmitting the signal based on aprevious signal transmitted to the target media device.

In an embodiment, a method for operating a target media device includesreceiving a user command by a remote control device for operating atarget media device, and the remote control device transmitting dataassociated with the user command to a second media device. The methodfurther includes the second media device transmitting a signal, based onthe user command, to the target media device, where the target mediadevice performs a function based on the signal received from the secondmedia device.

In an embodiment, the remote control device transmitting data to thesecond media device includes transmitting a Bluetooth signal. The secondmedia device transmitting the signal to operate the target media deviceincludes the second the media device transmitting an infrared signal.

In an embodiment, the remote control device is not configured for directcommunication with the target media device.

In an embodiment, a method includes displaying a menu selectioncomprising a first set of choices on a display screen and detecting amovement of the remote control device. In response to detecting themovement of the remote control device, modifying the menu selection todisplay a second set of choices.

The movement of the remote control device may include an accelerationpattern of the remote control device. The acceleration pattern mayinclude one or more of: an acceleration direction or an accelerationspeed.

Although specific components are recited herein as performing the methodsteps, in other embodiments agents or mechanisms acting on behalf of thecomponents may perform the method steps. Further, although some aspectsof the invention are discussed with respect to components on a system,the invention may be implemented with components distributed overmultiple systems. Embodiments of the invention also include any systemthat includes the means for performing the method steps describedherein. Embodiments of the invention also include a computer readablemedium with instructions, which when executed, cause the method stepsdescribed herein to be performed.

2.0 System Architecture

Although a specific computer architecture is described herein, otherembodiments of the invention are applicable to any architecture that canbe used to perform the functions described herein.

FIG. 1 shows a media device A (100), a media source (110), a mediadevice B (120), a remote control device (130), a network device (140),and a web server (150). Each of these components are presented toclarify the functionalities described herein and may not be necessary toimplement the invention. Furthermore, components not shown in FIG. 1 mayalso be used to perform the functionalities described herein.Functionalities described as performed by one component may instead beperformed by another component.

In an embodiment, the media source (110) generally represents anycontent source from which the media device A (100) (or media device B(120)) can receive media content. The media source (110) may be abroadcaster (includes a broadcasting company/service) that streams mediacontent to media device A (100). The media source (110) may be a mediacontent server from which the media device A (100) downloads the mediacontent. The terms streaming, broadcasting, or downloading to a devicemay be used interchangeably herein and should not be construed aslimiting to one particular method of the device obtaining data. Themedia device A (100) may receive data by streaming, broadcasting,downloading, etc. from a broadcast service, a web server, another mediadevice, or any suitable system with data or content that may beaccessible by the media device. Different sources may be mentioned asdifferent examples presented below. An example describing a specificsource should not be construed as limited to that source.

In an embodiment, the network device (140) generally represents anycomponent that is a part of the media device A (100) or a separatedevice altogether that includes functionality to communicate over anetwork (e.g., internet, intranet, world wide web, etc.). For example,the network device (140) may be a computer communicatively coupled withmedia device A (100) or a network card in the media device A (100). Thenetwork device (140) may include functionality to obtain content fromover a network. For example, the network device (140) may be configuredto obtain a list of available content or the available content itself.The network device (140) may be configured to obtain remote controlcodes/signal information for operating a media device (e.g., mediadevice B (120)). For example, the network device (140) may be used toquery a database with information identifying media device B (120) andin response, receiving control signals for remotely controlling mediadevice B (120). The network device (140) may be configured to obtaininformation associated with a specific waveform protocol.

In an embodiment, a media device (e.g., media device A (100) or mediadevice B (120)) generally represents any media device comprising aprocessor and configured for the input and/or output of media content. Amedia device may generally represent a management device thatcommunicates with one or more other media devices and/or remote controldevices. A media device, as used herein, may refer to a single device orany combination of devices (e.g., a receiver and a television set) thatmay be configured to present media content. Examples of media devicesinclude one or more of: receivers, digital video recorders, digitalvideo players, set-top boxes, televisions, monitors, Blu-ray players,audio content players, video content players, digital picture frames,hand-held mobile devices, computers, printers, etc. The media devices(e.g., media device A (100)) may present media content by playing themedia content (e.g., audio and/or visual media content), displaying themedia content (e.g., still images), printing the media content (e.g.,coupons), electronically transmitting the media content (e.g.,electronic mail), publishing the media content (e.g., on a website), orby any other suitable means.

In an embodiment, media device A (100) may be a management device whichcommunicates with one or more other media devices (e.g., media device B(120)) or remote control device(s) (130) in a system. For example, themedia device A (100) may receive a multimedia signal for display frommedia device B (120) (e.g., a video player, an audio player, amultimedia player, or any other device which includes or reads memorywith media content stored thereon). In an embodiment, the media device A(100) may receive a command from a remote control device (130) tooperate media device B (120). The media device A (100) may then transmita signal to media device B (120) based on the command received from theremote control device (130). In an embodiment, the media device A (100)may be configured to provide signal information to the remote controldevice (130) to operate other media devices (e.g., media device B(120)). In an embodiment, the media device A (100) may be context aware.For example, the media device A (100) may receive a generic command to“pause” from the remote control device (130) while a DVD is being playedthat is being read by media device B (120). In response to receiving thecommand while input from media device B (120) is being played, the mediadevice A (100) may automatically determine that the command “pause” isapplicable to the playing of the DVD by media device B (120). In anembodiment, media device A (100) may include a display or may becommunicatively coupled to a display configured for presenting mediacontent. In an embodiment, media device A (100) may includefunctionality to communicate via wired or wireless segments with any ofthe other components described herein. The media device A (100) maycommunicate wirelessly over one or more of: radio waves (e.g., wi-fisignal, Bluetooth signal), infrared waves, or over any other suitablefrequency in the electro-magnetic spectrum. The media device A (100) maycommunicate over the Ethernet or using a wired connection (e.g., HDMIcables). In an embodiment, the media device A (100) may represent anyapparatus with one or more subsystems configured to perform thefunctions described herein.

3.0 The Remote Control Device

In an embodiment, the remote control device (130) generally representsany device with a user interface to receive user commands for operatingat least one media device (e.g., media device A (100) or media device B(130)). As shown in FIG. 1B, the remote control device (130) may includehardware and/or software to perform the functions described herein. Eachof the components shown in FIG. 1B may not be necessary to implement oneor more embodiments, described herein. Furthermore, components not shownin FIG. 1B may be used to perform functionality described herein.

The remote control device (130) may be communicatively coupled to one ormore media devices through wired and/or wireless segments. The remotecontrol device (130) may communicate wirelessly over one or more of:radio waves (e.g., wi-fi signal, Bluetooth signal), infrared waves, overany other suitable frequency in the electro-magnetic spectrum, over anetwork connection (e.g., intranet, internet, etc.), or through anyother suitable method.

In an embodiment, the remote control device (130) may include Read OnlyMemory (ROM) (206), a Central Processing Unit (CPU) (208), Random AccessMemory (RAM) (210), Infrared Control Unit (212), a key pad scan (214), akey pad (216), Non-Volatile Memory (NVM) (218), one or more microphones(224), gain control logic (220), analog to digital convertor (ADC)(222),a general purpose input/output (GPIO) interface (226), aspeaker/tweeter (228), a key transmitter/indicator (230), a low batteryindicator (or output signal) (232), a microphone LED (234), a Bluetoothradio (236), an Infrared (IR) blaster (238), a Radio Frequency (RF)Antenna (240), a QWERTY sliding keyboard (not shown), ambient noisecancellation device (not shown), etc. The remote control device (130)may additionally include any of: a Wi-Fi radio, touchpad, trackball,accelerometer, camera, light sensor, or proximity sensor. Memory on theremote control device (130) (e.g., ROM (206), RAM (210), or NVM (218))may include control codes and/or key codes for one or more media devices(e.g., media device A (100) or media device B (120)). The memory mayinclude a Run-Length-Limited (RLL) waveform table or other commandswhich may be in a compressed or uncompressed form.

In an embodiment, the low battery indicator (232) may correspond to avisual indication (e.g., an LED light) on the remote control device(130) for a low battery level. In an embodiment, the low batteryindicator (232) may represent a signal output for display on a screenother than on the remote control device (130). In an embodiment, the lowbattery code is sent with a standard command. For example, when achannel selection is made on the remote control device (130), thecommand for the channel selection device is piggy backed with a lowbattery signal for display on a display screen. A media device thatreceives the signal may decode the signal into the low battery code andthe command. The media device can then use the low battery code, e.g.,via a lookup table for a corresponding display message or other method,to create a low battery display message to be displayed on the displayscreen. The low battery indicator (232) may be configured to indicate alow battery signal at periodic or non-periodic time intervals. The lowbattery indicator (232) may be configured to indicate a low batterysignal after the battery drops below or rises above some threshold,independent of other events.

In an embodiment, a microphone (224) may be located anywhere on theremote control device (130) (e.g., one or more microphones (224) may belocated at the end, or possibly opposing ends, of a remote controldevice (130)). If multiple microphones are available and turned on, themultiple microphones may be used to obtain user input. In an embodiment,one of the multiple microphones may be used for noisecancellation/optimization manipulations. A single audio stream may bedetermined from multiple input audio streams by the remote controldevice (130) or by a media device which receives the multiple audiostreams from the remote control device (130). In an embodiment, one ormore microphones may be used to capture stereo or multiphonic audioinput.

In an embodiment, the remote control device (130) may include aproximity sensor (not shown) to detect presence of a user within a rangeof the remote control device (130) even before the user presses a buttonon the remote control device (130). For example, the remote controldevice (130) may operate in a low power state until a user is detected.Once a user is detected, the remote control device (130) may operate ina normal power state or a high power state. The remote control device(130) may be configured to turn on keypad lights as soon as a user isdetected. In an embodiment, the proximity sensor may be based oncapacitive coupling to detect a user near the remote control device(130). In an embodiment, the remote control device (130) includes one ormore displays (242). The displays may be touch screen displays thatinclude functionality to receive user input by a user touching thedisplay screen. In an embodiment, a motion sensor (e.g., a simple motionsensor or an accelerometer) may be used to provide the abovefunctionality. For example, once a user picking up the remote controldevice (130) is detected by the accelerometer, other features of theremote control device (130) may be activated (or powered on).

4.0 Providing Input Via Movements of the Remote Control Device

In an embodiment, the remote control device (130) may include anysoftware and/or hardware that allows for detection of movements (e.g.“gestures” or “shakes”) of the remote control device (130). For example,the remote control device (130) may include a motion sensor (e.g., asimple motion sensor to detect any movement or an accelerometer todetect specific types of movements). The motion sensor may include amicro electro-mechanical system including a cantilever beam with a proofmass. The movement of the mass from a neutral position may be used todetect the acceleration, speed, and/or direction of the movement of theremote control device (130). The motion sensor may detect accelerationwith respect to three different axes. The motion sensor may beself-calibrating, pre-calibrated, or may include functionality to becalibrated by a user.

In an embodiment, the detected movements may include movement of theremote control device (130) in a particular direction (e.g., up anddown, left and right, etc.), a rotation of the remote control device(130), a particular direction and/or magnitude of acceleration of themovement of the remote control device (130), a particular speedthreshold of the movement of the remote control device (130), anorientation during movement, or any other detectable movement. Themovements also include shocks and/or vibrations. The movement mayinclude one or more combinations of different detectable movements. Forexample, detecting a movement may include detecting a sequence of leftto right and right to left movements where each movement meets athreshold acceleration value for at least a portion of the movement(e.g., 20%, 50%, 95%, etc.). In an embodiment, the user may select themovements corresponding to a command out of a set of detectablemovements.

In an embodiment, one or more movements of the remote control device(130) may correspond to a particular command. Accordingly, a user may beable to submit commands to operate one or more media devices byperforming the movement on the remote control device (130) correspondingto the intended command.

In an embodiment, one or more movements of the remote control device(130) may correspond to a command for displaying menu choices by a mediadevice (e.g., media device A (100) or media device B (120)). Forexample, one or more movements may correspond to a command for shufflingmenu choices displayed on a screen. The menu choices may correspond to achoice between multimedia content available for playing (e.g., videoand/or sound files). The movement may cause the available choices to beshuffled at random (e.g., new sequence of choices or new choicesaltogether). The movement may cause selection of a new set of choicesbased on user information (e.g., user preferences, user history, etc.).The movement may correspond to a command for displaying media contentthat is similar to the media content currently being displayed. Forexample, if a user shakes the remote control device (130) while watchinga particular television program, media device A (100) may start playinga different television program that is similar to the particulartelevision program being watched. In an embodiment, each shake of theremote control device (130) may result in display of a new set of menuoptions that are mutually exclusive from the previously displayed menuoptions or choices.

In an embodiment, content (e.g., audio content, video content, one ormore still images, etc.) may be presented (e.g., displayed, played,etc.). In response to the detection of a movement of a remote controldevice, different content may be presented. The different content may bein the same category as the first presented content. For example, thecontent presented before the detection of a movement and the contentpresented after the detection of the movement may both be associatedwith the same genre, same singer, same actors, same producers, samephotographer, same author, etc.

5.0 Split Controls

In an embodiment, the interface of the remote control device (130) maybe split between physical buttons on the remote control device (130)itself and selectable buttons displayed on a screen. For example, eightypercent of the remote functionality may be accessible by pressingphysical buttons on the remote control device (130) itself. The othertwenty percent functionality of the remote control may be displayed on adisplay screen (on a separate display device) that can be navigatedand/or selected using the remote control device (130) (e.g., using arrowbuttons on the remote control device to select particular buttonsdisplayed on a display screen). A button on the remote control device(130) may be used to display and access the additional functionality ofthe remote control on a display screen that is separate from the remotecontrol. For example, a “more” button on the remote control may causethe display of additional choices or menu selections on the displayscreen.

In an embodiment, a menu may have multiple command levels. For example,on a first command level options such as settings, channels, andrecordings may be available. Once an option (e.g., settings) isselected, the sub-options under the selected option are displayed.Physical buttons on the remote control device (130) may be used tooperate or select the choices on the current level. Furthermore, a“more” (or other similar button) may provide additional choices from thecurrent level on the display screen. Any number of choices on anyparticular level may be distributed between physical buttons on theremote control device (130) and on screen choices (e.g., buttons, radioboxes, text input, any other form of input, etc.).

The remote control device (130) may include track balls, buttons,keypads, optical sensors, or any other suitable interface componentswhich may be used to display and access the additional functionality ofthe remote control on a display screen.

6.0 Updates

In an embodiment, the remote control device (130) may be automaticallyupdated based on a set of media devices being used in the system. Theautomatic update of the remote control device may be based on any changein a system configuration including, but not limited to, addition ofmedia devices in the system, removal of media devices, hardware orsoftware changes within the media devices, firmware updates, etc. Forexample, when a new media device is plugged into a system of devices orwhen a new media device is communicatively coupled with one or moredevices in a set of devices, the remote operating codes for the newmedia device may be automatically sent to the remote control device(130), e.g., via Bluetooth, via RF, via USB or wireless to a dockingdevice for the remote control, etc. In an embodiment, a particular mediadevice may maintain state information of all devices plugged into thesystem (or in an on state) that are accessible for input/output. Theparticular media device may then push updates with operating codes ontothe remote control device (130) based on the devices that are pluggedinto the system or communicatively coupled to one or more devices in thesystem. In an embodiment, the media device may push firmware updatesonto the remote control device (130). In another embodiment, the remotecontrol device (130) may be configured to periodically pull remoteoperating codes (130) for any new devices that have been plugged in orotherwise communicatively coupled to the system of devices.

In an embodiment, software updates or firmware updates to a media device(100) may result in new or modified menu options, new or modifiedconfigurations, or other changes associated with the media device (100).The changes associated with the media device (100) may be automaticallyloaded onto the remote control device (130) (e.g., using push and/orpull methodologies). For example, interface components for selecting newoptions or features associated with the media device may beautomatically added to a touch screen menu displayed on the remotecontrol device (130). In another example, physical buttons on the remotecontrol device (130) that were previously configured to operate somefeatures may be re-configured to operate the new features associatedwith a newly added media device. A menu or interface stored on a newmedia device that is communicatively coupled to a system may beautomatically detected and transmitted to a remote control device (130)for display on the remote control device (130).

In an embodiment, any change in a system configuration (e.g., changes tohardware and/or software, addition/removal of components within asystem) may be detected. In response to detecting the changes in thesystem, remote control operations associated with the change (e.g., newfeatures, new devices, removal of features, removal of devices, changesin features, etc.) may be identified. Remote control operations mayinclude any operation associated with one or more devices which may beperformed using a remote control device (130). Examples of remotecontrol operations may include turning a device on or off, selectingmedia content for displaying or playing, selecting input devices,recording content, uploading content to a web server, downloadingcontent, etc. A remote control device may be automatically updated basedon the identified remote control operations. For example, when a newdevice is communicatively coupled (e.g., through wired or wirelesssegments) to a system (or set of devices), remote control operations foroperating the new device may be identified. The remote control devicemay then be updated by changes to existing menus or addition of menusthat allow a user to submit input for selecting one or more of theremote control operations associated with the new device. In anembodiment, a newly added device may communicate with the remote controldevice via an intermediate device. For example, a management device maydetect that a new device was communicatively coupled to one or moredevices within a set of devices. The management device may then obtaininformation associated with the new device (e.g., directly from the newdevice, through a database query, etc.) and identify remote controloperations for operating the new device with a remote control device.The management device may then update the remote control device withfunctionality to perform the remote control operation for operating thenew device. The signals for performing the remote control operations maythen be sent by the remote control device directly to the new device ormay be sent to an intermediate device which sends a signal to the newdevice to perform the remote control operation.

In an embodiment, the remote control device (130) may be configured toautomatically recognize devices within a particular range and changemode to operate the recognized device. For example, a remote controldevice (130) being used to operate a first media device in a first roommay be carried by a user to a second room with a second media device.The remote control device (130) may determine that the second mediadevice is within a particular range and automatically initiatecommunication with the second media device. For example, any commandentered on the remote control device (130) while the remote controldevice (130) is in the second room may operate the second media device.Any command entered on the remote control device (130) while the remotecontrol device (130) is in the first room may operate the first mediadevice. In an embodiment, the automatic change from the remote controldevice (130) operating the first media device to the remote controldevice (130) operating the second media device may be performed by themedia devices. For example, the second media device may sense the remotecontrol device (130) (e.g., via Bluetooth) and reconfigure the remotecontrol device (130) to operate the second media device. If the remotecontrol device (130) is within range of the first media device, thefirst media device may reconfigure the remote control device (130) tooperate the first media device. In an embodiment, a media device thatsenses the remote control device (130) may reconfigure the remotecontrol device (130) to operate that media device or any other mediadevice that can receive commands from the remote control device (130).

7.0 Privacy Level

In an embodiment, the remote control device (130), media device (100),display screen, or any component within a system may indicate a privacylevel of the multimedia content being watched. A privacy levelassociated with media content may be a configurable setting whichindicates whether information associated with a user's viewing and/orrecording of the multimedia content may be published. The informationmay include whether the user has viewed and/or recorded, the multimediacontent, when the user has viewed and/or recorded the multimediacontent, a user's rating of the multimedia content, a user'srecommendation of the multimedia content, etc. The privacy level mayindicate if the information may be published, to who the information maybe published, when the information may be published, where theinformation may be published, and/or when the information may bepublished. For example, the privacy level may indicate thatviewing/recording of a particular media content is public informationavailable for publication to all users, available for publication to aparticular set of users (e.g., friends, co-workers, family, etc.), oravailable for publication to nobody. The privacy level may identify aweb site (e.g., a social networking website or a personal web page) thatmay be used for publication of the information.

In an embodiment, the privacy level may be configured by a user using aremote control device or entering input directly to a media device(e.g., digital video recorded, cable box, personal computer, television,smart phone, a hand-held device, etc.) The user may select the privacylevel for multimedia content prior to watching/recording the mediacontent, concurrently with watching/recording the media content, and/orsubsequent to watching/recording the media content. In an embodiment,the privacy level may be selectable using a one-touch button on theremote control device (130). For example, the remote control device(130) may include a set of two or more buttons where pressing a buttonwhile watching or recording a particular show applies the privacy levelcorresponding to the button to the particular show. In an embodiment,the privacy level may be selected by audio input. For example, a usermay submit audio input “private,” while watching multimedia content, toa microphone on the remote control device (130). The remote controldevice may then transmit a signal to a media device in the set of mediadevices indicating that viewing of the multimedia content by the user isnot to be published. If the term “private” is configured for publicationto a limited group of people or in a limited manner (e.g., only aparticular web page), the remote control device (130) may transmit asignal to a media device indicating that viewing of the multimediacontent is to be published to the limited group of people or in thelimited manner.

In an embodiment, the privacy level may be automatically activated basedon content. For example, any media content rated X or not rated (NR) maybe automatically set as private content that is not to be published. Inan embodiment, content may be digitally analyzed (e.g., usingfingerprints) to identify content characteristics (e.g., nudity,profanity, etc.) and the privacy level may be selected based on thedetected characteristics. A setting or configuration set by a user mayaccordingly prevent publication of any information associated with mediacontent that includes a particular content type (e.g., nudity,profanity, etc.). In an embodiment, the privacy level may be based onthe particular user in a household. For example, when a first user iswatching and/or recording multimedia content, the publication ofinformation associated with the first user's viewing and/or recording ofthe multimedia content may be automatically prevented. When a seconduser is watching and/or recording multimedia content, the informationassociated with the second user's watching and/or recording of themultimedia content may be automatically published.

In an embodiment, the user as used herein may refer to an individual, agroup of individuals, a household (e.g., “the Taylor household”), acorporation, or any other entity. The user may be identified based on aregistration associated with a media device or a billing associated withthe media device. For example, the user may be identified based on acable bill. In another example, a user may be prompted to log in priorto watching the multimedia content or during a display of the multimediacontent which would identify the user. A user may be identified based onvoice, fingerprints (e.g., on a remote control device), or using anyother identification means.

Publishing information may include, for example, posting the informationon a web page (e.g., social networking web page associated with a user),emailing or otherwise communicating the information to one or more otherusers, using the information for recommending the media content to otherusers, etc. Publishing the information may include any distribution orpresentation of information that indicates that the user has recordedand/or viewed the multimedia content. In an embodiment, publication ofthe information may be controlled by the media device or by an externalreceiving entity. For example, a publication filter to filter outinformation associated with viewing content that is not to be publishedmay be applied by a media device and the remaining information may besent to a web server (or other publishing entity) or publication. Inanother example, all information regarding the viewing of content may besent to a web server (or other publishing entity) and a selection ofwhich information to publish or not publish may be made by thepublishing entity based on the privacy level. In an embodiment, a usermay select the privacy level on a social networking web page associatedwith a web service which is configured to receive all informationregarding the user's viewing of content. The web service may then filterthe content based on the user's selected privacy level.

In an embodiment, a visual indicator of the privacy level for aparticular multimedia content may be concurrently displayed withdisplaying of the multimedia content. For example, multimedia contentmay be displayed in response to a command for viewing the multimediacontent. Furthermore, a selection of the privacy level for themultimedia content may be received where the privacy level indicateswhether a user's viewing of the multimedia content may be published. Inresponse to the receiving the selection of the privacy level, a visualindicator may be displayed concurrently with displaying of themultimedia content which indicates the privacy level. In an embodiment,the remote control device (130) may indicate the privacy level of thecontent being recorded or displayed. For example, the privacy levelindication may be a visual indication (e.g., a different colored lightemitting diode (LED) indicating different privacy levels) and/or anaudio indication (e.g., the remote control indicating the privacy levelby sound). In an embodiment, a screen (e.g., on the remote controldevice, on a television, or any other suitable device) may indicate theprivacy level of the multimedia content being displayed, being recorded,or being scheduled for a recording. For example, an icon overlaid on themultimedia content being displayed may indicate the privacy levelassociated with that multimedia content. In an embodiment, a separatelight may be emitted on the side or top of a display device to indicatethe privacy level associated with the multimedia content that is beingdisplayed or recorded. In an embodiment, the visual indicator of theprivacy level may be displayed or played (e.g., sound) in response to auser command. For example, a user may check the current privacy level bysubmitting input on a remote control device (or any media device) and inresponse, the privacy level may be presented by audio and/or visualmeans.

8.0 Automatic Interactivity Mode

In an embodiment, the remote control device or a media device (e.g. adigital video recorder) may be configured to automatically interact withone or more components that are within a communications range of theremote control device or the media device. For example, the media devicemay automatically detect one or more devices that are within Bluetoothrange of the media device. For example, the media device mayautomatically detect one or more remote control devices that are withinBluetooth range of the media device. Upon detection of a remote controldevice within communications range, the media device may automaticallyinitiate communication with the remote control device and sendinformation to configure the remote control device to display optionsassociated with the media device. For example, the remote control devicemay display a menu received from the media device in order for the userto interact or otherwise control the media device.

In an embodiment, as a user holding a remote control walks from a firstroom in a house to a second room in the house, the remote control deviceautomatically switches from communication with the devices in the firstroom in the house to communication with the devices in the second roomin the house. A media device in a second room may initiate acommunication pathway with the remote control in response to detectingthat the remote control is within communication range or within anotherrange (e.g., distance from the media device). Accordingly, a user isable to hold on to a single remote control device and provide inputcommands to different devices at different locations. The remote controlmay be configured to automatically switch to any number of devices atany number of locations. For example, a remote control device that isimplemented as part of a cellular telephone may be carried by aparticular user from home, to car, to work, etc. As the user goes fromlocation to location with the cellular telephone, the cellular telephonemay automatically establish communication channels with the availabledevices and accordingly, allow a user to operate the available devices.In an embodiment, the remote control device may be configured toautomatically connect to devices within a range or to devices that havethe closest proximity to the remote control.

In an embodiment, the remote control device may display content that isspecific to a particular device. For example, as the remote controldevice switches between different devices, the remote control device maydisplay menus or user interfaces that are specific to the currentdevice.

9.0 Custom Remote Configuration

In an embodiment, a remote control may be dynamically customized basedon a user (or operator) of the remote. The user may be identified usingany input means associated with the remote control device. For example,the remote control device may include an optical sensor configured forreading user fingerprints. The user may be identified based on afingerprint by the remote control itself or by a media devicecommunicatively coupled to the remote control. In an embodiment, theuser may be identified based on a specific button or combination ofbuttons selected by the user (e.g., a user code), or a particulardrawing/pattern entered by the user. The user may log in to the systemusing the remote control device. The user may be recognized based onaudio input (e.g., voice command or generic conservation) received by amicrophone. The user may be identified based on a particular motion of aremote control device (e.g., using an accelerometer).

Based on the identified user, a user interface displayed on the remotecontrol device may be adapted to user preferences, settings, etc. Forexample, buttons on the user interface may be selected and displayedbased on user preferences. In another example, light settings or audiosettings associated with the remote control device may be selected basedon the identified user. In an embodiment, content displayed or contentavailable may be determined based on the identified user. For example, auser identified using the remote control device may have recordedparticular shows. When the user is identified a recorded show menu mayinclude the shows recorded by that particular user while filtering outshows recorded by other users. In an embodiment, parental controls maybe implemented based on the recognized user. For example, identificationof an adult user may result in displaying a menu which includes adultcontent, whereas identification of a child user may result in displayinga menu which filters out adult content. In an embodiment, systemsettings (e.g., speakers, light, etc.) may be adjusted based on theidentified user. For example, in response to detecting a senior user,the volume may be raised. In an embodiment, gaming settings may beselected based on the identified users. For example, particular consolesmay be turned on or off based on the identified user, particular gamesmay be selected based on the identified user, particular networksettings, or buddy lists may be setup based on the identified user.

In one example, a user may pick up a remote control device which thenidentifies the user. A particular gaming console may then be turned onor selected for input/output based on the identified user. Furthermore,in a networked game, the gaming console may automatically enter anenvironment that includes friends or groups associated with theidentified user. An interactive environment may be entered in responseto a remote control device automatically identifying the user.

10.0 Uni-Directional Communication Mode

FIG. 2 illustrates a flow diagram for operating the remote controldevice in a uni-directional communication mode, in accordance with anembodiment. One or more of the steps described below may be omitted,repeated, and/or performed in a different order. Accordingly, thespecific arrangement of steps shown in FIG. 2 should not be construed aslimiting the scope of the invention.

Initially, a command is received at the remote control device from auser for operating a target media device (Step 210). The command may bereceived by detecting a movement of the remote control. The command maybe received by a user entering a command on a keypad, keyboard, touchscreen, joystick, or other interface component on the remote controldevice. The command may be a selection in the electronic programmingguide (EPG) by a user for the recording and/or playing of the mediacontent. The command may be a channel selection entered by a user. Thecommand may be a request to display a slide show of pictures. Thecommand may be to play an audio file. The command may be a request toplay a movie (e.g., a command for a blu-ray player). In an embodiment,receiving the command to present media content may include a userentering the title of media content in a search field on a userinterface.

In an embodiment, the command may be received with an explicitidentification of the media device for which the command is received.For example, a DVD player mode may first be selected on the remotecontrol device and then a command to play a DVD may be submitted. In anembodiment, the command may be received without an explicitidentification of the media device for which the command is received.For example, a generic command to “pause” may be received withoutidentification of a particular media device to which the command isapplicable. In an embodiment, no information about the target mediadevice is available to the remote control device. Based on the context(e.g., current playing of a DVD), the command may be interpreted toidentify the target media device (e.g., the DVD player reading the DVD)for which the command was received. In an embodiment, the remote controldevice never identifies the target media device.

In an embodiment, the command received at the remote control device istransmitted from the remote control device to a second media deviceother than the target media device, in accordance with one or moreembodiments (Step 220). The command may be transmitted to the secondmedia device based on execution of a sequence of instructions stored onthe remote control device. Execution of the sequence of instructions mayalso result in transmitting any command received by the remote controldevice to the second media device, regardless of the target media devicecorresponding to the command. The command may be transmitted to thesecond media device in response to detecting a particular set ofcommands that are to be transmitted to the second media deviceregardless of the target media device. The command may be transmitted tothe second media device in response to determining that the remotecontrol device does not have signal information for transmitting thecommand to the target media device. For example, the remote controldevice may not have codes necessary to transmit the signal to the targetmedia device or may not have information identifying the target mediadevice. In an embodiment, the remote control device may transmit thecommand (or information identifying the command) to the second mediadevice using wired or wireless segments. For example, the remote controldevice may transmit the command to the second media device overBluetooth.

In an embodiment, the second media device transmits a signal, associatedwith the command, to the target media device (Step 230). The secondmedia device may determine the signal by first identifying the targetmedia device. The second media device may identify the target mediadevice based on information received from the remote control device thatexplicitly identifies the target media device. The second media devicemay identify the target media device based on context. For example, if acommand for pause is received by the second media device from the remotecontrol device during playing of a DVD by a DVD player, then the DVDplayer may be identified as the target media device. Another example mayinvolve receiving a command while an interface is being displayed. Aparticular media device associated with the interface being displayedmay be automatically identified as the target media device. In anembodiment, the second media device may identify the target media devicebased on one or more previous commands received from the remote controldevice. For example, previous commands may identify the target mediadevice or be determined to operate the target media device. Based on theprevious commands, a current command may be determined to correspond toa particular device, e.g., the target media device.

In an embodiment, once the target media device is identified, the secondmedia device may transmit a signal through wired and/or wirelesssegments to the target media device for operation of the target mediadevice based on the command received from the remote control device. Ifwireless segments are used, the second media device may transmit thesignal at the same frequency or a different frequency in theelectro-magnetic spectrum than the frequency at which the command wasreceived from the remote control device. For example, the command fromthe remote control device may be received via Bluetooth and the signalfrom the second media device to the target media device may be sent viainfrared waves. In an embodiment, the second media device may transmitthe signal over an internet protocol (IP) connection (e.g., intranet, orinternet). In an embodiment, one or more intermediate devices betweenthe second media device and the target media device may be used.

In an embodiment, the target media device performs a function based onthe signal received from the second media device (Step 240). Forexample, the target media device may perform a particular playbackfunction (e.g., play, stop, rewind, fast-forward, pause, etc.) based onthe signal received from the second media device. If the target mediadevice is a set-top box, the target media device may select mediacontent for viewing and/or recording based on the signal received fromthe second media device. In an embodiment, the target media device maypublish information associated with the viewing and/or recording ofmedia content. For example, the target media device may publish a userviewing history on a social networking website.

11.0 Bi-Directional Communication Mode

FIG. 3 illustrates a flow diagram for operating the remote controldevice in a bi-directional communication mode, in accordance with anembodiment. The remote control device may provide data to one or moremedia devices and receive data from one or more media devices. One ormore of the steps described below may be omitted, repeated, and/orperformed in a different order. Accordingly, the specific arrangement ofsteps shown in FIG. 3 should not be construed as limiting the scope ofthe invention.

In an embodiment, a command is received at the remote control devicefrom a user for operating a target media device (Step 310). Step 310 isessentially the same as Step 210 described above.

In an embodiment, the remote control device requests informationassociated with the command from a second media device (Step 320). Theremote control device may request information about the command itself.For example, the remote control device may request the actual signal,from the second media device, corresponding to the command fortransmission to the target media device. The remote control device mayrequest a portion of the actual signal from the second media device. Forexample, the remote control device may request only a device code forthe target media device or other identification of the target mediadevice to use in a signal (e.g., an infrared signal) to send to thetarget media device.

In an embodiment, the remote control device may simply send informationassociated with the command received to the second media device withoutrequesting any information. The second media device may then determinewhether to communicate directly with the target media device or to sendinformation to the remote control device for communication with thetarget media device.

In an embodiment, the second media device may transmit informationassociated with the command to the remote control device (Step 330). Thesecond media device may transmit any of the information, as described inStep 320. The information may or may not be requested by the remotecontrol device. For example, the second media device may transmit a codeof the target media device or the actual signal for the remote controldevice to transmit to the target media device. The second media devicemay also transmit the method in which the remote control device is tocommunicate with the target media device, e.g., via Bluetooth, IR, RF,etc. In an embodiment, the second media device may transmit any of theinformation, described above, without receiving a specific request forthe information. For example, the second media device may periodicallyupdate the remote control device with state information. In anembodiment, the second media device may maintain state information aboutthe system or the target media device. Examples of state informationinclude the current display information such as interfaces displayed,selections displayed to a user, media content being played, media deviceproviding input to the current display, etc. State information mayinclude current configuration settings such as volume, brightness, tint,color, user preferences, etc. State information may include media deviceinformation such recordings stored on media devices, recordingschedules, viewing/recording history, etc. Based on the stateinformation, the second media device may communicate directly with atarget media device based on the command received at the remote controldevice or the second media device may transmit information to the remotecontrol device for communicating with the target media device.

In an embodiment, the second media device may provide information to theremote control device in response to detecting a low usage level of theremote control device or the second media device. For example, a numberof processor operations over a period of time may be monitored todetermine a usage level and thereafter once a threshold level indicativeof low usage is detected, the second media device may transmit stateinformation updates to the remote control device.

In an embodiment, the remote control device may not have enoughinformation to identify the target media device when the command isfirst received from the user. Based on the information received from thesecond media device, the remote control device may identify the targetmedia device (Step 340). The information received from the second mediadevice may explicitly identify the target media device. The remotecontrol device may identify the target media device based on the stateinformation, described below, received from the second media device.

In an embodiment, the remote control device determines the signal basedon the command received from the user and/or the information receivedfrom the second media device (Step 350). Determining the signal may beas simple as receiving all the information including the signal from thesecond media device. Determining the signal may include determining anoperation code based on the command received by accessing a locallystored table which maps commands received to operation codes.Determining the signal may include combining the operation code withinformation identifying the target media device received from the secondmedia device. In an embodiment, only state information may be receivedfrom the target media device describing a current display. Based on thecurrent display and the command received (e.g., an up button or a selectbutton), the remote control device may determine the signal to betransmitted to the target media device.

For example, a target media device may be a set top box receiving abroadcast stream from a broadcast service, where the broadcast streamcorresponds to channel two on a user display. While the broadcast streamis being displayed to the user, an up arrow command may be received onthe remote control device. The remote control device may request stateinformation from the second media device which may return information tothe remote control device that indicates that channel two is beingdisplayed to the user. Based on the current display of channel two andreceiving an up arrow command, the remote control device may determinethat the user has selected channel three for display. In response to thedetermination, the remote control device may then transmit a signal tothe target media device indicating that channel three has been selected.The target media device may perform a function based on the signalreceived from the remote control device (Step 360). Step 360 is similarto 240 described above. Continuing the example, the target media devicemay then request content being broadcasted on Channel Three from thebroadcast service and cause display of the content to the user. Theremote control device may accordingly operate in a bi-directional modeby transmitting and receiving signals, in response to a single usercommand.

12.0 Hardware Overview

According to one embodiment, the techniques described herein areimplemented by one or more special-purpose computing devices. Thespecial-purpose computing devices may be hard-wired to perform thetechniques, or may include digital electronic devices such as one ormore application-specific integrated circuits (ASICs) or fieldprogrammable gate arrays (FPGAs) that are persistently programmed toperform the techniques, or may include one or more general purposehardware processors programmed to perform the techniques pursuant toprogram instructions in firmware, memory, other storage, or acombination. Such special-purpose computing devices may also combinecustom hard-wired logic, ASICs, or FPGAs with custom programming toaccomplish the techniques. The special-purpose computing devices may bedesktop computer systems, portable computer systems, handheld devices,networking devices or any other device that incorporates hard-wiredand/or program logic to implement the techniques.

For example, FIG. 4 is a block diagram that illustrates a System 400upon which an embodiment of the invention may be implemented. System 400includes a bus 402 or other communication mechanism for communicatinginformation, and a hardware processor 404 coupled with bus 402 forprocessing information. Hardware processor 404 may be, for example, ageneral purpose microprocessor.

System 400 also includes a main memory 406, such as a random accessmemory (RAM) or other dynamic storage device, coupled to bus 402 forstoring information and instructions to be executed by processor 404.Main memory 406 also may be used for storing temporary variables orother intermediate information during execution of instructions to beexecuted by processor 404. Such instructions, when stored in storagemedia accessible to processor 404, render System 400 into aspecial-purpose machine that is customized to perform the operationsspecified in the instructions.

System 400 further includes a read only memory (ROM) 408 or other staticstorage device coupled to bus 402 for storing static information andinstructions for processor 404. A storage device 410, such as a magneticdisk or optical disk, is provided and coupled to bus 402 for storinginformation and instructions.

System 400 may be coupled via bus 402 to a display 412, such as acathode ray tube (CRT), for displaying information to a computer user.An input device 414, including alphanumeric and other keys, is coupledto bus 402 for communicating information and command selections toprocessor 404. Another type of user input device is cursor control 441,such as a mouse, a trackball, or cursor direction keys for communicatingdirection information and command selections to processor 404 and forcontrolling cursor movement on display 412. This input device typicallyhas two degrees of freedom in two axes, a first axis (e.g., x) and asecond axis (e.g., y), that allows the device to specify positions in aplane.

System 400 may implement the techniques described herein usingcustomized hard-wired logic, one or more ASICs or FPGAs, firmware and/orprogram logic which in combination with the System causes or programsSystem 400 to be a special-purpose machine. According to one embodiment,the techniques herein are performed by System 400 in response toprocessor 404 executing one or more sequences of one or moreinstructions contained in main memory 406. Such instructions may be readinto main memory 406 from another storage medium, such as storage device410. Execution of the sequences of instructions contained in main memory406 causes processor 404 to perform the process steps described herein.In alternative embodiments, hard-wired circuitry may be used in place ofor in combination with software instructions.

The term “storage media” as used herein refers to any media that storedata and/or instructions that cause a machine to operation in a specificfashion. Such storage media may comprise non-volatile media and/orvolatile media. Non-volatile media includes, for example, optical ormagnetic disks, such as storage device 410. Volatile media includesdynamic memory, such as main memory 406. Common forms of storage mediainclude, for example, a floppy disk, a flexible disk, hard disk, solidstate drive, magnetic tape, or any other magnetic data storage medium, aCD-ROM, any other optical data storage medium, any physical medium withpatterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, NVRAM, anyother memory chip or cartridge.

Storage media is distinct from but may be used in conjunction withtransmission media. Transmission media participates in transferringinformation between storage media. For example, transmission mediaincludes coaxial cables, copper wire and fiber optics, including thewires that comprise bus 402. Transmission media can also take the formof acoustic or light waves, such as those generated during radio-waveand infra-red data communications.

Various forms of media may be involved in carrying one or more sequencesof one or more instructions to processor 404 for execution. For example,the instructions may initially be carried on a magnetic disk or solidstate drive of a remote computer. The remote computer can load theinstructions into its dynamic memory and send the instructions over atelephone line using a modem. A modem local to System 400 can receivethe data on the telephone line and use an infra-red transmitter toconvert the data to an infra-red signal. An infra-red detector canreceive the data carried in the infra-red signal and appropriatecircuitry can place the data on bus 402. Bus 402 carries the data tomain memory 406, from which processor 404 retrieves and executes theinstructions. The instructions received by main memory 406 mayoptionally be stored on storage device 410 either before or afterexecution by processor 404.

System 400 also includes a communication interface 418 coupled to bus402. Communication interface 418 provides a two-way data communicationcoupling to a network link 420 that is connected to a local network 422.For example, communication interface 418 may be an integrated servicesdigital network (ISDN) card, cable modem, satellite modem, or a modem toprovide a data communication connection to a corresponding type oftelephone line. As another example, communication interface 418 may be alocal area network (LAN) card to provide a data communication connectionto a compatible LAN. Wireless links may also be implemented. In any suchimplementation, communication interface 418 sends and receiveselectrical, electromagnetic or optical signals that carry digital datastreams representing various types of information.

Network link 420 typically provides data communication through one ormore networks to other data devices. For example, network link 420 mayprovide a connection through local network 422 to a host computer 424 orto data equipment operated by an Internet Service Provider (ISP) 424.ISP 424 in turn provides data communication services through the worldwide packet data communication network now commonly referred to as the“Internet” 428. Local network 422 and Internet 428 both use electrical,electromagnetic or optical signals that carry digital data streams. Thesignals through the various networks and the signals on network link 420and through communication interface 418, which carry the digital data toand from System 400, are example forms of transmission media.

System 400 can send messages and receive data, including program code,through the network(s), network link 420 and communication interface418. In the Internet example, a server 430 might transmit a requestedcode for an application program through Internet 428, ISP 424, localnetwork 422 and communication interface 418.

The received code may be executed by processor 404 as it is received,and/or stored in storage device 410, or other non-volatile storage forlater execution.

13.0 Extensions and Alternatives

In the foregoing specification, embodiments of the invention have beendescribed with reference to numerous specific details that may vary fromimplementation to implementation. Thus, the sole and exclusive indicatorof what is the invention, and is intended by the applicants to be theinvention, is the set of claims that issue from this application, in thespecific form in which such claims issue, including any subsequentcorrection. Any definitions expressly set forth herein for termscontained in such claims shall govern the meaning of such terms as usedin the claims. Hence, no limitation, element, property, feature,advantage or attribute that is not expressly recited in a claim shouldlimit the scope of such claim in any way. The specification and drawingsare, accordingly, to be regarded in an illustrative rather than arestrictive sense.

The invention claimed is:
 1. A method comprising: causing displaying ofa first set of menu options that are selectable by a user on a displayscreen; detecting, while the first set of menu options are displayed, amovement of a remote control device that corresponds to a particularcommand; in response to detecting the movement that corresponds to theparticular command, causing a shuffling of menu options in the first setof menu options, at least two options of the first set of menu optionsbeing displayed in a different sequence after the shuffling than beforethe shuffling.
 2. The method of claim 1, further comprising: detecting amovement of the remote control device that corresponds to a secondparticular command; in response to detecting the movement thatcorresponds to the second particular command, causing displaying of asecond set of options; wherein each option of the second set of optionsis not included in the first set of options.
 3. The method of claim 1,further comprising: detecting a movement of the remote control devicethat corresponds to a second particular command; in response todetecting the movement that corresponds to the second particularcommand, causing displaying of a second set of options; wherein thesecond set of options is selected based on user information.
 4. Themethod of claim 1, wherein detecting the movement of the remote controldevice comprises detecting a shaking of the remote control device. 5.The method of claim 1, wherein the movement of the remote control devicecomprises detecting an acceleration pattern of the remote controldevice.
 6. The method of claim 5, wherein the acceleration patternincludes one or more of: an acceleration direction or an accelerationspeed.
 7. The method of claim 1, further comprising: receiving, from theremote control device, information associated with the movement of theremote control device; determining, based on the information, theparticular command that corresponds to the movement.
 8. A methodcomprising: presenting a first media content stream on a display screen;detecting a movement, of a remote control device, that corresponds to aparticular command; in response to detecting the movement thatcorresponds to a particular command, automatically selecting a secondmedia content stream based at least in part on a relationship betweenthe second media content stream and the first media content stream; inresponse to automatically selecting the second media content stream,automatically presenting the second media content stream in place of thefirst media content stream.
 9. The method of claim 8, wherein the firstmedia content stream is a first television program and the second mediacontent stream is a second television program.
 10. The method of claim8, further comprising selecting the second content stream based on asimilarity shared with the first content stream.
 11. The method of claim8, wherein the second media content stream is selected for presenting tothe user from a set of content streams stored on a media device.
 12. Themethod of claim 8, further comprising: receiving, from the remotecontrol device, information associated with the movement of the remotecontrol device; determining, based on the information, the particularcommand; selecting the second media content stream, for presenting,based on the particular command.
 13. A computer readable mediumcomprising instructions which, when executed by one or more processors,cause performance of steps comprising: causing displaying of a first setof menu options that are selectable by a user on a display screen;detecting, while the first set of menu options are displayed, a movementof a remote control device that corresponds to a particular command; inresponse to detecting the movement that corresponds to the particularcommand, causing a shuffling of menu options in the first set of menuoptions, at least two options of the first set of menu options beingdisplayed in a different sequence after the shuffling than before theshuffling.
 14. The computer readable medium of claim 13, furthercomprising: detecting a movement of the remote control device thatcorresponds to a second particular command; in response to detecting themovement that corresponds to the second particular command, causingdisplaying of a second set of options; wherein each option of the secondset of options is not included in the first set of options.
 15. Thecomputer readable medium of claim 13, further comprising: detecting amovement of the remote control device that corresponds to a secondparticular command; in response to detecting the movement thatcorresponds to the second particular command, causing displaying of asecond set of options; wherein the second set of options is selectedbased on user information.
 16. The computer readable medium of claim 13,wherein detecting the movement of the remote control device comprisesdetecting a shaking of the remote control device.
 17. The computerreadable medium of claim 13, wherein the movement of the remote controldevice comprises detecting an acceleration pattern of the remote controldevice.
 18. The computer readable medium of claim 17, wherein theacceleration pattern includes one or more of: an acceleration directionor an acceleration speed.
 19. The computer readable medium of claim 13,further comprising instructions which, when executed by the one or moreprocessors, cause performance of steps comprising: receiving, from theremote control device, information associated with the movement of theremote control device; determining, based on the information, theparticular command that corresponds to the movement.
 20. A computerreadable medium comprising instructions which, when executed by one ormore processors, cause performance of steps comprising: presenting afirst media content stream on a display screen; in response to detectingthe movement that corresponds to a particular command, automaticallyselecting a second media content stream based at least in part on arelationship between the second media content stream and the first mediacontent stream; in response to automatically selecting the second mediacontent stream, automatically presenting the second media content streamin place of the first media content stream.
 21. The computer readablemedium of claim 20, wherein the first media content stream is a firsttelevision program and the second media content stream is a secondtelevision program.
 22. The computer readable medium of claim 20,further comprising instructions which, when executed by one or moreprocessors, cause selecting the second content stream based on asimilarity shared with the first content stream.
 23. The computerreadable medium of claim 20, wherein the second media content stream isselected for presenting to the user from a set of content streams storedon a media device.
 24. The computer readable medium of claim 20, furthercomprising instructions which, when executed by one or more processors,cause performance of steps comprising: receiving, from the remotecontrol device, information associated with the movement of the remotecontrol device; determining, based on the information, the particularcommand; selecting the second media content stream, for presenting,based on the particular command.
 25. An apparatus comprising: asubsystem implemented at least partially in hardware that causes displayof a first set of menu options, that are selectable by a user, on adisplay screen; a subsystem implemented at least partially in hardwarethat detects, while the first set of menu options are displayed, amovement that corresponds to a particular command; a subsystemimplemented at least partially in hardware that, in response todetecting the movement that corresponds to the particular command,causes shuffling of menu options in the first set of menu options, atleast two options of the first set of menu options being displayed in adifferent sequence after the shuffling than before the shuffling. 26.The apparatus of claim 25, further comprising: a subsystem implementedat least partially in hardware that detects a movement of the remotecontrol device that corresponds to a second particular command; asubsystem implemented at least partially in hardware that, in responseto detecting the movement that corresponds to the second particularcommand, causes displaying of a second set of options; wherein eachoption of the second set of options is not included in the first set ofoptions.
 27. The apparatus of claim 26, further comprising: a subsystemimplemented at least partially in hardware that detects a movement ofthe remote control device that corresponds to a second particularcommand; a subsystem implemented at least partially in hardware that, inresponse to detecting the movement that corresponds to the secondparticular command, causes displaying of a second set of options;wherein the second set of options is selected based on user information.28. The apparatus of claim 26, wherein detecting the movement of theremote control device comprises detecting a shaking of the remotecontrol device.
 29. The apparatus of claim 26, wherein the movement ofthe remote control device comprises detecting an acceleration pattern ofthe remote control device.
 30. The apparatus of claim 29, wherein theacceleration pattern includes one or more of: an acceleration directionor an acceleration speed.
 31. The apparatus of claim 26, furthercomprising a subsystem, implemented at least partially in hardware, thatperforms the steps of: receiving, from the remote control device,information associated with the movement of the remote control device;determining, based on the information, the particular command thatcorresponds to the movement.
 32. An apparatus comprising: a subsystemimplemented at least partially in hardware that presents a first mediacontent stream on a display screen; a subsystem implemented at leastpartially in hardware that detects a movement, of a remote controldevice, that corresponds to a particular command; a subsystemimplemented at least partially in hardware that automatically selects,in response to detecting the movement that corresponds to a particularcommand, a second media content stream based at least in part on arelationship between the second media content stream and the first mediacontent stream; a subsystem implemented at least partially in hardwarethat automatically presents, in response to automatically selecting thesecond media content stream, a second media content stream in place ofthe first media content stream.
 33. The apparatus of claim 32, whereinthe first media content stream is a first television program and thesecond media content stream is a second television program.
 34. Theapparatus of claim 32, further comprising a subsystem for selecting thesecond content stream based on a similarity shared with the firstcontent stream.
 35. The apparatus of claim 32, wherein the second mediacontent stream is selected for presenting to the user from a set ofcontent streams stored on a media device.
 36. The apparatus of claim 32,further comprising a subsystem for: receiving, from the remote controldevice, information associated with the movement of the remote controldevice; determining, based on the information, the particular command;selecting the second media content stream, for presenting, based on theparticular command.